WTShape Example

See link below for the current WTShapes from the AISC v16 steel database.

Constructing a WTShape:

Before constructing, import the AISCSteel package. Also import the StructuralUnits package since we will use it later on.

using StructuralUnits
import AISCSteel
import AISCSteel.Shapes.WTShapes as wts
wt = wts.WTShape("WT5x6")
AISCSteel.Shapes.WTShapes.WTShape("WT5X6", 6.0 plf, 1.77 inch^2, 4.94 inch, 3.96 inch, 0.19 inch, 0.21 inch, 0.51 inch, 1.36 inch, 0.322 inch, 4.35 inch^4, 2.2 inch^3, 1.22 inch^3, 1.57 inch, 1.09 inch^4, 0.869 inch^3, 0.551 inch^3, 0.785 inch, 0.0272 inch^4, 0.0255 inch^6, 2.16 inch, 0.661, 13.5 inch, 17.4 inch, 13.8 inch, 17.8 inch, 2.25 inch, 0.0 inch, 11200.0 ksi, 29000.0 ksi, 50.0 ksi)

The following went and searched through the AISC v16 steel database and pulled the relevant info to construct a WTShape. You can now access information in the struct like so:

The width of the flange:

wt.b_f
3.96 inch

The weight of the WTShape:

wt.weight
6.0 plf

Compression Capacity of WTShape:

See link below for the available functions relating to compression for the WTShape member:

We can calculate the compressive capacity of the WT5X6 shape we just constructed:

L_cx = L_cy = L_cz = 12ft
ϕ_c = 0.9
P_n = wts.Compression.calc_Pn(wt, L_cx, L_cy, L_cz)
ϕP_n = ϕ_c * P_n
10.898729316222246 kip

Lets see what the calc_Pn function did:

using Handcalcs
set_handcalcs(precision=2) # sets number of decimals displayed

@handcalcs P_n = wts.Compression.calc_Pn(wt, L_cx, L_cy, L_cz)

\[\begin{aligned} b &= \frac{b_{f}}{2} = \frac{3.96\;\mathrm{inch}}{2} = 1.98\;\mathrm{inch} \\[10pt] t &= t_{f} = 0.21\;\mathrm{inch} \\[10pt] \lambda &= \frac{b}{t} = \frac{1.98\;\mathrm{inch}}{0.21\;\mathrm{inch}} = 9.43 \\[10pt] \lambda_{r} &= 0.56 \cdot \sqrt{\frac{E}{F_{y}}} = 0.56 \cdot \sqrt{\frac{29000\;\mathrm{ksi}}{50\;\mathrm{ksi}}} = 13.49 \\[10pt] \text{Since: }\lambda \leq \lambda_{r} &= 9.43 \leq 13.49 = true \\[10pt] class &= nonslender \\[10pt] d &= d = 4.94\;\mathrm{inch} \\[10pt] t_{w} &= t_{w} = 0.19\;\mathrm{inch} \\[10pt] \lambda &= \frac{d}{t_{w}} = \frac{4.94\;\mathrm{inch}}{0.19\;\mathrm{inch}} = 26 \\[10pt] \lambda_{r} &= 0.75 \cdot \sqrt{\frac{E}{F_{y}}} = 0.75 \cdot \sqrt{\frac{29000\;\mathrm{ksi}}{50\;\mathrm{ksi}}} = 18.06 \\[10pt] \text{Since: }\lambda \leq \lambda_{r} &= 26 \leq 18.06 = false \\[10pt] class &= slender \\[10pt] F_{ex} &= \frac{\pi^{2} \cdot E}{\left( \frac{L_{cx}}{r_{x}} \right)^{2}} = \frac{3.14^{2} \cdot 29000\;\mathrm{ksi}}{\left( \frac{12\;\mathrm{ft}}{1.57\;\mathrm{inch}} \right)^{2}} = 34.02\;\mathrm{ksi} \\[10pt] F_{ey} &= \frac{\pi^{2} \cdot E}{\left( \frac{L_{cy}}{r_{y}} \right)^{2}} = \frac{3.14^{2} \cdot 29000\;\mathrm{ksi}}{\left( \frac{12\;\mathrm{ft}}{0.79\;\mathrm{inch}} \right)^{2}} = 8.51\;\mathrm{ksi} \\[10pt] x_{0} &= 0 \cdot inch = 0 \cdot \mathrm{inch} = 0\;\mathrm{inch} \\[10pt] y_{0} &= \bar{y} - \frac{t_{f}}{2} = 1.36\;\mathrm{inch} - \frac{0.21\;\mathrm{inch}}{2} = 1.26\;\mathrm{inch} \\[10pt] \bar{r}_{0} &= \sqrt{x_{0}^{2} + y_{0}^{2} + \frac{I_{x} + I_{y}}{A_{g}}} = \sqrt{\left( 0\;\mathrm{inch} \right)^{2} + \left( 1.26\;\mathrm{inch} \right)^{2} + \frac{4.35\;\mathrm{inch}^{4} + 1.09\;\mathrm{inch}^{4}}{1.77\;\mathrm{inch}^{2}}} = 2.16\;\mathrm{inch} \\[10pt] F_{ez} &= \frac{\pi^{2} \cdot E \cdot C_{w}}{L_{cz}^{2}} \cdot \frac{1}{A_{g} \cdot \bar{r}_{0}^{2}} + G \cdot J \cdot \frac{1}{A_{g} \cdot \bar{r}_{0}^{2}} = \frac{3.14^{2} \cdot 29000\;\mathrm{ksi} \cdot 0.03\;\mathrm{inch}^{6}}{\left( 12\;\mathrm{ft} \right)^{2}} \cdot \frac{1}{1.77\;\mathrm{inch}^{2} \cdot \left( 2.16\;\mathrm{inch} \right)^{2}} + 11200\;\mathrm{ksi} \cdot 0.03\;\mathrm{inch}^{4} \cdot \frac{1}{1.77\;\mathrm{inch}^{2} \cdot \left( 2.16\;\mathrm{inch} \right)^{2}} = 37.07\;\mathrm{ksi} \\[10pt] H &= 1 - \frac{x_{0}^{2} + y_{0}^{2}}{\bar{r}_{0}^{2}} = 1 - \frac{\left( 0\;\mathrm{inch} \right)^{2} + \left( 1.26\;\mathrm{inch} \right)^{2}}{\left( 2.16\;\mathrm{inch} \right)^{2}} = 0.66 \\[10pt] F_{e} &= \frac{F_{ey} + F_{ez}}{2 \cdot H} \cdot \left( 1 - \sqrt{1 - \frac{4 \cdot F_{ey} \cdot F_{ez} \cdot H}{\left( F_{ey} + F_{ez} \right)^{2}}} \right) = \frac{8.51\;\mathrm{ksi} + 37.07\;\mathrm{ksi}}{2 \cdot 0.66} \cdot \left( 1 - \sqrt{1 - \frac{4 \cdot 8.51\;\mathrm{ksi} \cdot 37.07\;\mathrm{ksi} \cdot 0.66}{\left( 8.51\;\mathrm{ksi} + 37.07\;\mathrm{ksi} \right)^{2}}} \right) = 7.8\;\mathrm{ksi} \\[10pt] F_{e} &= \mathrm{min}\left( F_{ex}, F_{ey}, F_{e} \right) = \mathrm{min}\left( 34.02\;\mathrm{ksi}, 8.51\;\mathrm{ksi}, 7.8\;\mathrm{ksi} \right) = 7.8\;\mathrm{ksi} \\[10pt] \text{Since: }\frac{F_{y}}{F_{e}} \leq 2.25 &= \frac{50\;\mathrm{ksi}}{7.8\;\mathrm{ksi}} \leq 2.25 = false \\[10pt] F_{n} &= 0.88 \cdot F_{e} = 0.88 \cdot 7.8\;\mathrm{ksi} = 6.84\;\mathrm{ksi} \\[10pt] \text{Since: }\lambda_{wclass} &= nonslender = slender = false \\[10pt] \text{Since: }\lambda_{fclass} &= nonslender = true \\[10pt] b &= d = 4.94\;\mathrm{inch} \\[10pt] t &= t_{w} = 0.19\;\mathrm{inch} \\[10pt] c_{1} &= 0.22 \\[10pt] c_{2} &= 1.49 \\[10pt] F_{el} &= \left( c_{2} \cdot \frac{\lambda_{r}}{\lambda} \right)^{2} \cdot F_{y} = \left( 1.49 \cdot \frac{18.06}{26} \right)^{2} \cdot 50\;\mathrm{ksi} = 53.57\;\mathrm{ksi} \\[10pt] \text{Since: }\lambda \leq \lambda_{r} \cdot \sqrt{\frac{F_{y}}{F_{n}}} &= 26 \leq 18.06 \cdot \sqrt{\frac{50\;\mathrm{ksi}}{6.84\;\mathrm{ksi}}} = true \\[10pt] b_{e} &= b = 4.94\;\mathrm{inch} \\[10pt] A_{e} &= A_{g} - \left( b - b_{e} \right) \cdot t = 1.77\;\mathrm{inch}^{2} - \left( 4.94\;\mathrm{inch} - 4.94\;\mathrm{inch} \right) \cdot 0.19\;\mathrm{inch} = 1.77\;\mathrm{inch}^{2} \\[10pt] P_{n} &= F_{n} \cdot A_{e} = 6.84\;\mathrm{ksi} \cdot 1.77\;\mathrm{inch}^{2} = 12.11\;\mathrm{kip} \end{aligned}\]

Flexure Capacity of WTShape:

See link below for the available functions relating to flexure for the WTShape member:

Positive Bending

We can calculate the flexural capacity about the x-axis in positive bending of the WT5X6 shape we just constructed:

L_b = 0ft
ϕ_b = 0.9
M_nx = wts.Flexure.calc_positive_Mnx(wt, L_b)
ϕM_nx = ϕ_b * M_nx
7.320000000000001 ft kip

Lets see what the calc_Mnx function did:

@handcalcs M_nx = wts.Flexure.calc_positive_Mnx(wt, L_b)

\[\begin{aligned} b &= \frac{b_{f}}{2} = \frac{3.96\;\mathrm{inch}}{2} = 1.98\;\mathrm{inch} \\[10pt] t &= t_{f} = 0.21\;\mathrm{inch} \\[10pt] \lambda &= \frac{b}{t} = \frac{1.98\;\mathrm{inch}}{0.21\;\mathrm{inch}} = 9.43 \\[10pt] \lambda_{p} &= 0.38 \cdot \sqrt{\frac{E}{F_{y}}} = 0.38 \cdot \sqrt{\frac{29000\;\mathrm{ksi}}{50\;\mathrm{ksi}}} = 9.15 \\[10pt] \lambda_{r} &= 1 \cdot \sqrt{\frac{E}{F_{y}}} = 1 \cdot \sqrt{\frac{29000\;\mathrm{ksi}}{50\;\mathrm{ksi}}} = 24.08 \\[10pt] \text{Since: }\lambda_{p} < \lambda \leq \lambda_{r} &= 9.15 < 9.43 \leq 24.08 = true \\[10pt] class &= noncompact \\[10pt] S_{xc} &= \frac{I_{x}}{\bar{y}} = \frac{4.35\;\mathrm{inch}^{4}}{1.36\;\mathrm{inch}} = 3.2\;\mathrm{inch}^{3} \\[10pt] L_{p} &= 1.76 \cdot r_{y} \cdot \sqrt{\frac{E}{F_{y}}} = 1.76 \cdot 0.79\;\mathrm{inch} \cdot \sqrt{\frac{29000\;\mathrm{ksi}}{50\;\mathrm{ksi}}} = 2.77\;\mathrm{ft} \\[10pt] L_{r} &= \frac{1.95 \cdot \frac{E}{F_{y}} \cdot \sqrt{I_{y} \cdot J}}{S_{x}} \cdot \sqrt{\frac{2.36 \cdot \frac{F_{y}}{E} \cdot d \cdot S_{x}}{J} + 1} = \frac{1.95 \cdot \frac{29000\;\mathrm{ksi}}{50\;\mathrm{ksi}} \cdot \sqrt{1.09\;\mathrm{inch}^{4} \cdot 0.03\;\mathrm{inch}^{4}}}{1.22\;\mathrm{inch}^{3}} \cdot \sqrt{\frac{2.36 \cdot \frac{50\;\mathrm{ksi}}{29000\;\mathrm{ksi}} \cdot 4.94\;\mathrm{inch} \cdot 1.22\;\mathrm{inch}^{3}}{0.03\;\mathrm{inch}^{4}} + 1} = 18.34\;\mathrm{ft} \\[10pt] M_{y} &= F_{y} \cdot S_{x} = 50\;\mathrm{ksi} \cdot 1.22\;\mathrm{inch}^{3} = 5.08\;\mathrm{ft}\,\mathrm{kip} \\[10pt] M_{p} &= \mathrm{min}\left( F_{y} \cdot Z_{x}, 1.6 \cdot M_{y} \right) = \mathrm{min}\left( 50\;\mathrm{ksi} \cdot 2.2\;\mathrm{inch}^{3}, 1.6 \cdot 5.08\;\mathrm{ft}\,\mathrm{kip} \right) = 8.13\;\mathrm{ft}\,\mathrm{kip} \\[10pt] B &= 2.3 \cdot \frac{d}{L_{b}} \cdot \sqrt{\frac{I_{y}}{J}} = 2.3 \cdot \frac{4.94\;\mathrm{inch}}{0\;\mathrm{ft}} \cdot \sqrt{\frac{1.09\;\mathrm{inch}^{4}}{0.03\;\mathrm{inch}^{4}}} = \infty\;\mathrm{inch}\,\mathrm{ft}^{-1} \\[10pt] M_{cr} &= \frac{1.95 \cdot E}{L_{b}} \cdot \sqrt{I_{y} \cdot J} \cdot \left( B + \sqrt{1 + B^{2}} \right) = \frac{1.95 \cdot 29000\;\mathrm{ksi}}{0\;\mathrm{ft}} \cdot \sqrt{1.09\;\mathrm{inch}^{4} \cdot 0.03\;\mathrm{inch}^{4}} \cdot \left( \infty\;\mathrm{inch}\,\mathrm{ft}^{-1} + \sqrt{1 + \left( \infty\;\mathrm{inch}\,\mathrm{ft}^{-1} \right)^{2}} \right) = \infty\;\mathrm{ft}\,\mathrm{kip} \\[10pt] M_{nY} &= M_{p} = 8.13\;\mathrm{ft}\,\mathrm{kip} \\[10pt] \text{Since: }L_{b} \leq L_{p} &= 0\;\mathrm{ft} \leq 2.77\;\mathrm{ft} = true \\[10pt] M_{nLTB} &= M_{p} = 8.13\;\mathrm{ft}\,\mathrm{kip} \\[10pt] \text{Since: }\lambda_{fclass} &= noncompact = true \\[10pt] M_{nFLB1} &= M_{p} - \left( M_{p} - F_{y} \cdot S_{xc} \right) \cdot \frac{\lambda_{f} - \lambda_{pf}}{\lambda_{rf} - \lambda_{pf}} = 8.13\;\mathrm{ft}\,\mathrm{kip} - \left( 8.13\;\mathrm{ft}\,\mathrm{kip} - 50\;\mathrm{ksi} \cdot 3.2\;\mathrm{inch}^{3} \right) \cdot \frac{9.43 - 9.15}{24.08 - 9.15} = 8.23\;\mathrm{ft}\,\mathrm{kip} \\[10pt] M_{nFLB2} &= 1.6 \cdot M_{y} = 1.6 \cdot 5.08\;\mathrm{ft}\,\mathrm{kip} = 8.13\;\mathrm{ft}\,\mathrm{kip} \\[10pt] M_{nFLB} &= \mathrm{min}\left( M_{nFLB1}, M_{nFLB2} \right) = \mathrm{min}\left( 8.23\;\mathrm{ft}\,\mathrm{kip}, 8.13\;\mathrm{ft}\,\mathrm{kip} \right) = 8.13\;\mathrm{ft}\,\mathrm{kip} \\[10pt] M_{n} &= \mathrm{min}\left( M_{nY}, M_{nLTB}, M_{nFLB} \right) = \mathrm{min}\left( 8.13\;\mathrm{ft}\,\mathrm{kip}, 8.13\;\mathrm{ft}\,\mathrm{kip}, 8.13\;\mathrm{ft}\,\mathrm{kip} \right) = 8.13\;\mathrm{ft}\,\mathrm{kip} \end{aligned}\]

Negative Bending

We can calculate the flexural capacity about the y-axis of the WT5X6 shape we just constructed:

M_ny = wts.Flexure.calc_negative_Mnx(wt, L_b)
ϕM_ny = ϕ_b * M_ny
3.99859809413489 ft kip

Lets see what the calc_Mny function did:

@handcalcs M_ny = wts.Flexure.calc_negative_Mnx(wt, L_b)

\[\begin{aligned} M_{y} &= F_{y} \cdot S_{x} = 50\;\mathrm{ksi} \cdot 1.22\;\mathrm{inch}^{3} = 5.08\;\mathrm{ft}\,\mathrm{kip} \\[10pt] M_{p} &= M_{y} = 5.08\;\mathrm{ft}\,\mathrm{kip} \\[10pt] B &= -2.3 \cdot \frac{d}{L_{b}} \cdot \sqrt{\frac{I_{y}}{J}} = -2.3 \cdot \frac{4.94\;\mathrm{inch}}{0\;\mathrm{ft}} \cdot \sqrt{\frac{1.09\;\mathrm{inch}^{4}}{0.03\;\mathrm{inch}^{4}}} = -\infty\;\mathrm{inch}\,\mathrm{ft}^{-1} \\[10pt] M_{cr} &= \frac{1.95 \cdot E}{L_{b}} \cdot \sqrt{I_{y} \cdot J} \cdot \left( B + \sqrt{1 + B^{2}} \right) = \frac{1.95 \cdot 29000\;\mathrm{ksi}}{0\;\mathrm{ft}} \cdot \sqrt{1.09\;\mathrm{inch}^{4} \cdot 0.03\;\mathrm{inch}^{4}} \cdot \left( -\infty\;\mathrm{inch}\,\mathrm{ft}^{-1} + \sqrt{1 + \left( -\infty\;\mathrm{inch}\,\mathrm{ft}^{-1} \right)^{2}} \right) = NaN\;\mathrm{ft}\,\mathrm{kip} \\[10pt] dtw_{ratio} &= \frac{d}{t_{w}} = \frac{4.94\;\mathrm{inch}}{0.19\;\mathrm{inch}} = 26 \\[10pt] limit_{1} &= 0.84 \cdot \sqrt{\frac{E}{F_{y}}} = 0.84 \cdot \sqrt{\frac{29000\;\mathrm{ksi}}{50\;\mathrm{ksi}}} = 20.23 \\[10pt] limit_{2} &= 1.52 \cdot \sqrt{\frac{E}{F_{y}}} = 1.52 \cdot \sqrt{\frac{29000\;\mathrm{ksi}}{50\;\mathrm{ksi}}} = 36.61 \\[10pt] \text{Since: }limit_{1} < dtw_{ratio} \leq limit_{2} &= 20.23 < 26 \leq 36.61 = true \\[10pt] F_{cr} &= \left( 1.43 - 0.52 \cdot \frac{d}{t_{w}} \cdot \sqrt{\frac{F_{y}}{E}} \right) \cdot F_{y} = \left( 1.43 - 0.52 \cdot \frac{4.94\;\mathrm{inch}}{0.19\;\mathrm{inch}} \cdot \sqrt{\frac{50\;\mathrm{ksi}}{29000\;\mathrm{ksi}}} \right) \cdot 50\;\mathrm{ksi} = 43.7\;\mathrm{ksi} \\[10pt] M_{nY} &= M_{p} = 5.08\;\mathrm{ft}\,\mathrm{kip} \\[10pt] M_{nLTB} &= \mathrm{min}\left( M_{cr}, M_{y} \right) = \mathrm{min}\left( NaN\;\mathrm{ft}\,\mathrm{kip}, 5.08\;\mathrm{ft}\,\mathrm{kip} \right) = 5.08\;\mathrm{ft}\,\mathrm{kip} \\[10pt] M_{nLB} &= F_{cr} \cdot S_{x} = 43.7\;\mathrm{ksi} \cdot 1.22\;\mathrm{inch}^{3} = 4.44\;\mathrm{ft}\,\mathrm{kip} \\[10pt] M_{n} &= \mathrm{min}\left( M_{nY}, M_{nLTB}, M_{nLB} \right) = \mathrm{min}\left( 5.08\;\mathrm{ft}\,\mathrm{kip}, 5.08\;\mathrm{ft}\,\mathrm{kip}, 4.44\;\mathrm{ft}\,\mathrm{kip} \right) = 4.44\;\mathrm{ft}\,\mathrm{kip} \end{aligned}\]